home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / minix / up1510b.tgz / up1510b / include / dirent.h < prev    next >
C/C++ Source or Header  |  1990-07-23  |  1KB  |  41 lines

  1. /* The <dirent.h> header file is for POSIX.  It is used by the opendir(), 
  2.  * readdir(), writedir(), and related procedure calls.
  3.  */
  4.  
  5. #ifndef _DIRENT_H
  6. #define _DIRENT_H
  7.  
  8. /* DIRBUF must in general be larger than the filesystem buffer size. */
  9. #define    _DIRBUF        2048    /* buffer size for fs-indep. dirs */
  10. #define _DIR_MAGIC     19997    /* arbitrary number for marking DIRs */
  11.  
  12. /* The DIR structure is used for all the directory operations. */
  13. typedef struct {
  14.  int dd_fd;            /* file descriptor */
  15.  int dd_loc;            /* offset in block */
  16.  int dd_size;            /* amount of valid data */
  17.  int dd_magic;            /* magic number to recognize DIRs */
  18.  char *dd_buf;            /* -> directory block */
  19. } DIR;                /* stream data from opendir() */
  20.  
  21.  
  22. struct dirent {            /* data from getdents()/readdir() */
  23.   long d_ino;            /* inode number of entry */
  24.   off_t d_off;            /* offset of disk directory entry */
  25.   unsigned short d_reclen;    /* length of this record */
  26.   char d_name[1];        /* name of file plus a 0 byte */
  27. };
  28.  
  29. /* Function Prototypes. */
  30. #ifndef _ANSI_H
  31. #include <ansi.h>
  32. #endif
  33.  
  34. _PROTOTYPE( int closedir, (DIR *_dirp)                    );
  35. _PROTOTYPE( int getdents, (int _fildes, char *_buf, unsigned _nbyte)    );
  36. _PROTOTYPE( DIR *opendir, (char *_dirname)                );
  37. _PROTOTYPE( struct dirent *readdir, (DIR *_dirp)            );
  38. _PROTOTYPE( void rewinddir, (DIR *_dirp)                );
  39.  
  40. #endif /* _DIRENT_H */
  41.